.cart_container {
  position: relative;
  width: 60px;
  height: 60px;
  .cart_number {
    width:16px;
    height: 16px;
    border:solid #FFF 1px;
    border-radius: 50%;
    font-size: 8px;
    background-color: #000000;
    color: #FFF;
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    right: -2px;
    bottom: 1px;
    opacity: 0;
    transition: opacity 0.1s linear;
    &.visible {
      opacity: 1;
    }
  }
}

.icon_container {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  box-shadow: 0 0 5px 5px rgba($color: #000000, $alpha: 0.05);
  display: flex;
  justify-content: center;
  align-items: center;

  &.cart {
    position: absolute;
    width: 60px;
    height: 60px;
    top: 50%;
    left: 50%;
    transform: translate(-30px, -30px);
    background-color: #000000;
    color: #FFF;
  }

  @keyframes scaling {
    0% {
      width: 50px;
      height: 50px;
      transform: translate(-25px, -25px);
    }
    40% {
      width: 60px;
      height: 60px;
      transform: translate(-30px, -30px);
    }
    70% {
      width: 40px;
      height: 40px;
      transform:translate(-20px, -20px);
    }
    100% {
      width: 60px;
      height: 60px;
      transform: translate(-30px, -30px);
    }
  }
  &.cartScale {
    animation: scaling 0.5s ease;
  }
}

//============================================================
// cart animation and icon in modal page
//============================================================


.to_cart_container {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 200px;
  height: 60px;
  border-radius: 30px;
  background-color: #E03A3A;
  color: #FFFFFF;
  font-family: "Noto Sans CJK TC";
  font-weight: bold;
  font-size: 15px;
  transition: all 0.3s ease-out;
  z-index: 10005;
  position: fixed;
  top: 0;
  left: 0;
  &.hide {
    display: none;
  }
  &.to_top {
    transform: translate(80px,-300px);
    width: 60px;
    padding: 0;
  }

}

.icon {
  transition: all 0.1s linear;
  &.to_top {
    flex-shrink: 0;
    width: 0;
    font-size: 0;
    opacity: 0;
  }
  &.end {
    display: none;
  }
}

.title {
  transition: all 0.1s linear;
  margin-left: 8px;
  &.to_top {
    flex-shrink: 0;
    width: 0;
    font-size: 0;
    opacity: 0;
  }
  &.end {
    display: none;
  }
}

.number {
  color: #FFF;
  font-size: 16px;
  display: none;
  &.to_top {
    display: block;
  }
}
